<?php

class Ramal extends DataMapper {

	var $error_prefix = '<div class="alert alert-danger" role="alert">';
    var $error_suffix = '</div>';
	
    var $table = 'ramais';
	
	var $has_one = array("setor");
	
	var $has_many = array("contato");
	
	var $validation = array(
		'ramal' => array(
			'label' => 'Ramal',
			'rules' => array('required')
		),
		'setor_id' => array(
			'label' => 'Setor',
			'rules' => array('required')
		)
	);

    function __construct($id = NULL)
    {
        parent::__construct($id);
    }
	
	public function consultaRamais(){
	
		$result = $this->db->query("
		SELECT ramais.`id`, `ramal` ,  `nomesetor` ,  `nomesecretaria` , flag
		FROM ramais
		LEFT JOIN setores ON setores.id = ramais.setor_id
		LEFT JOIN secretarias ON secretarias.id = setores.secretaria_id
		");
		
		
		$ramal = new Ramal();
		$ramal->_process_query($result);
		
		return $ramal;
	}
	
	public function consultaEditarRamais($id){
	
		$result = $this->db->query("
		SELECT ramais.id as ramal_id, secretarias.id as secretaria_id, setores.id as setor_id, setores.nomesetor, ramais.ramal, ramais.observacao, ramais.flag
		FROM ramais
		LEFT JOIN contatos_ramais ON contatos_ramais.ramal_id = ramais.id
		LEFT JOIN contatos ON contatos.id = contatos_ramais.contato_id
		LEFT JOIN setores ON setores.id = ramais.setor_id
		LEFT JOIN secretarias ON secretarias.id = setores.secretaria_id
		WHERE ramais.id = '$id'
		");
		
		
		$ramal = new Ramal();
		$ramal->_process_query($result);
		
		return $ramal;
	}
	public function relatorioramais($id){
	
		$result = $this->db->query("
		SELECT ramais.ramal, SUBSTRING(setores.nomesetor,1,70) AS nomesetor, contatos.nomecontato
		FROM ramais
		LEFT JOIN contatos_ramais ON contatos_ramais.ramal_id = ramais.id
		LEFT JOIN contatos ON contatos.id = contatos_ramais.contato_id
		LEFT JOIN setores ON setores.id = ramais.setor_id
		LEFT JOIN secretarias ON secretarias.id = setores.secretaria_id
		WHERE secretarias.id IN ('$id') AND flag ='0'
		ORDER BY nomesetor ASC, nomecontato ASC;
		");
		
		//RAMAL COM MULTIPLOS CONTATOS
		/*
		$result = $this->db->query("
		SELECT ramais.ramal, SUBSTRING(setores.nomesetor,1,70) AS nomesetor, GROUP_CONCAT(contatos.nomecontato SEPARATOR '<br/> ') AS nomecontato
		FROM ramais
		LEFT JOIN contatos_ramais ON contatos_ramais.ramal_id = ramais.id
		LEFT JOIN contatos ON contatos.id = contatos_ramais.contato_id
		LEFT JOIN setores ON setores.id = ramais.setor_id
		LEFT JOIN secretarias ON secretarias.id = setores.secretaria_id
		WHERE secretarias.id IN ('$id') AND flag ='0'
		GROUP BY ramais.ramal
		");
		*/
		$ramal = new Ramal();
		$ramal->_process_query($result);
		
		return $ramal;
	}
	public function relatoriolocais($id){
	
		$result = $this->db->query("
		SELECT ramais.ramal, SUBSTRING(setores.nomesetor,1,70) AS nomesetor, contatos.nomecontato
		FROM ramais
		LEFT JOIN contatos_ramais ON contatos_ramais.ramal_id = ramais.id
		LEFT JOIN contatos ON contatos.id = contatos_ramais.contato_id
		LEFT JOIN setores ON setores.id = ramais.setor_id
		LEFT JOIN secretarias ON secretarias.id = setores.secretaria_id
		WHERE setores.id IN ('$id') AND flag ='0'
		ORDER BY nomesetor ASC, nomecontato ASC;
		");
		
		
		$ramal = new Ramal();
		$ramal->_process_query($result);
		
		return $ramal;
	}
}

/* End of file ramal.php */
/* Location: ./application/models/ramal.php */
